home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / gui / prcgntn1.lha / Precognition / source / Positioner.c < prev    next >
C/C++ Source or Header  |  1992-12-23  |  1KB  |  71 lines

  1.  
  2.  
  3. #include "Positioner.h"
  4. #include "PositionerClass.h"
  5. #include <proto/exec.h>
  6. #include <proto/intuition.h>
  7. #include <proto/graphics.h>
  8. #include "amigamem.h"
  9.  
  10.  
  11. USHORT KnobSize( Positioner *self )
  12. {
  13.    struct PositionerClass *class;
  14.  
  15.  
  16.    if (class = (struct PositionerClass *) self->isa)
  17.    {
  18.       if (class->KnobSize)
  19.          return (*class->KnobSize)( self );
  20.    }
  21.    else
  22.       return 0;
  23. }
  24.  
  25.  
  26. USHORT SetKnobSize( Positioner *self, USHORT knobsize )
  27. {
  28.    struct PositionerClass *class;
  29.  
  30.  
  31.    if (class = (struct PositionerClass *) self->isa)
  32.    {
  33.       if (class->SetKnobSize)
  34.          return (*class->SetKnobSize)( self, knobsize );
  35.    }
  36.    else
  37.       return 0;
  38. }
  39.  
  40. BOOL Positioner_elaborated = FALSE;
  41.  
  42. struct PositionerClass Positioner_Class;
  43.  
  44. void PositionerClass_Init( struct PositionerClass *class )
  45. {
  46.    ValuatorClass_Init( (struct ValuatorClass *) class );
  47.    class->isa           = ValuatorClass();
  48.    class->ClassName     = "Positioner";
  49.    class->Value         = NULL;
  50.    class->SetValue      = NULL;
  51.    class->KnobSize      = NULL;
  52.    class->SetKnobSize   = NULL;
  53. }
  54.  
  55.  
  56. struct PositionerClass *PositionerClass( void )
  57. {
  58.    if (! Positioner_elaborated)
  59.    {
  60.       PositionerClass_Init( &Positioner_Class );
  61.       Positioner_elaborated = TRUE;
  62.    }
  63.  
  64.    return &Positioner_Class;
  65. }
  66.  
  67.  
  68. void Positioner_Init( Positioner *self )
  69. {
  70.    Valuator_Init(self);
  71. }